// console.log(a);
// var a = 1

//先创建全局上下文，然后编译，查找变量，然后执行，所以存在声明提升

// var a = 1
// function fn(a) {
//   var a = 2
//   function a() {}
//   var b = a
//   console.log(a);
// }
// fn(3)


function fn(a) {
  console.log(a);// func
  var a = 123
  console.log(a);// 123
  function a() {}
  console.log(a)// 123
  var b = function () {}
  console.log(b);// func
  function d() {}
  var d = a
  console.log(d);// 123
}
fn(1)


// var global = 100
// function fn() {
//   console.log(global);
// }
// fn()